ホームに戻る
出典 :
Office TANAKA - VBA高速化テクニック[関数も使え!]
目次 :

VBAからワークシート関数を呼び出す

VBAからは、ほぼすべてのワークシート関数を呼び出すことができる。
ワークシート関数を用いる利点としては、VBAのみで処理を行う場合と比較して、 が挙げられる。

基本の書式

WorksheetFunction オブジェクトを用いる。
WorksheetFunction.関数名(引数)

ワークシート関数を用いる場合と用いない場合の処理時間の比較

セル範囲 A1 : A100000 に入力された数値の総和を求める場合の例

VBAに直接記述 ⇒ 0.395秒

Sub Test1() Dim i As Long, A As Long ' A に A1 : A100000 の総和を格納 For i = 1 To 100000 A = A + Cells(i, 1) Next i End Sub

ワークシート関数( Sum() )を使用 ⇒ 0.002 秒

Sub Test2() ' ループ制御変数 i は不要 Dim A As Long ' A に A1 : A100000 の総和を格納 A = WorksheetFunction.Sum(Range("A1:A100000")) End Sub